home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / t_os / gpen32k / source.exe / LIB / OSRC / MESSAGE.C < prev    next >
C/C++ Source or Header  |  1993-08-07  |  1KB  |  72 lines

  1. /*
  2.     message.c
  3. */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <EGB.H>
  8. #include <MOS.H>
  9. #include <Normlib.h>
  10. #include <okome.h>
  11.  
  12. extern char work[];
  13.  
  14. #define MEX1    200
  15. #define    MEY1    140
  16. #define MEX4    290
  17. #define    MEY4    95
  18. #define MEX3    (MEX4-1)
  19. #define    MEY3    (MEY4-1)
  20. #define MEX2    (MEX1+MEX3)
  21. #define    MEY2    (MEY1+MEY3)
  22.  
  23. /*
  24.  m:確認モード
  25.  1: 確認
  26.  2: 実行 取消
  27. */
  28.  
  29. int message(char *mess,int m)
  30. {
  31.     int mb, mx, my, p;
  32.     p = EGB_getWritePage( 0, 0 );
  33.     EGB_writePage( work, 0 );
  34.     MOS_disp(0);
  35.     OKM_gth( MEX1,MEY1, MEX2,MEY2, 1 );
  36.     boxbf(MEX1,MEY1,MEX2,MEY2,8,15);
  37.     boxb(MEX1+2,MEY1+2,MEX2-2,MEY2-2,8);
  38.     symbol(MEX1+20,MEY1+35,mess,16,8);
  39.     for ( mb = 2-m; mb<2; mb++ )
  40.     {
  41.         boxbf(MEX2-130+60*mb,MEY2-23,MEX2-90+mb*60,MEY2-6,8,15);
  42.     }
  43.     if (m==1)
  44.     {
  45.         font12(MEX2- 63,MEY2-8,"確認",8);
  46.     }    else    {
  47.         font12(MEX2-123,MEY2-8,"実行",8);
  48.         font12(MEX2- 63,MEY2-8,"取消",8);
  49.     }
  50.     MOS_disp(1);
  51.     do    {
  52.         MOS_rdpos(&mb,&mx,&my);
  53.         if (mb && mx>=MEX2-70 && mx<=MEX2-20 && my>=MEY2-26 && my<=MEY2-6)
  54.         {
  55.             m-= 1;
  56.             break;
  57.         }
  58.         if (mb && mx>=MEX2-130 && mx<=MEX2-80 && my>=MEY2-26 && my<=MEY2-6
  59.             && m == 2)
  60.         {
  61.             m = 0;
  62.             break;
  63.         }
  64.     }    while (1);
  65.     MOS_disp(0);
  66.     OKM_gth( MEX1,MEY1, MEX2,MEY2, 0 );
  67.     MOS_disp(1);
  68.     EGB_writePage( work, p );
  69.     mbout(&mb,&mx,&my);
  70.     return (m);
  71. }
  72.